#include<iostream>

using namespace std;

const int N=5e4+10;
int nums[N];
int l,n,m;
int clr(int mid)
{
	int left=0,right=1;
	int ret=0;
	while(left<=right&&right<=n+1)
	{
		while(right<=n+1&&nums[right]-nums[left]<mid)
		{
			right++;
		}
		ret+=right-left-1;
		left=right-1;
		left++;
	}
	return ret;
}
int main()
{
	cin>>l>>n>>m;
	for(int i=1;i<=n;i++) cin>>nums[i];
	nums[n+1]=l;
	int left=1,right=l;
	while(left<right)
	{
		int mid=left+(right-left+1)/2;
		if(clr(mid)<=m)
		{
			left=mid;
		}
		else
		{
			right=mid-1;
		}
	}
	cout<<left<<endl;
}